using System;
using System.Runtime.Serialization;
namespace PH.Model.Schools
{
    [DataContract]
    public partial class StudentModel:MBase
    {
        [Model(ConvertType = AttributeType.IgnoreUpdate)]
        [DataMember]
        public int ID { get; set; }
        [Model(ConvertType = AttributeType.IgnoreUpdate)]
        [DataMember]
        public System.Guid Guid { get; set; }
        [Model(ConvertType = AttributeType.IgnoreUpdate)]
        [DataMember]
        public int SchoolID { get; set; }
        [Model]
        [DataMember]
        public int ClassID { get; set; }
        [Model]
        [DataMember]
        public int GradeCode { get; set; }
        [DataMember]
        [Model]
        public string RealName { get; set; }
        [Model(ConvertType = AttributeType.IgnoreUpdate)]
        [DataMember]
        public System.DateTime CreatedOn { get; set; }
        [DataMember]
        [Model]
        public int Status { get; set; }
        [DataMember]
        [Model]
        public string StudentNo { get; set; }
        [DataMember]
        [Model]
        public int NationID { get; set; }
        [DataMember]
        [Model]
        public byte Sex { get; set; }
        [DataMember]
        [Model]
        public string Mobile { get; set; }
        [DataMember]
        [Model]
        public string Address { get; set; }
        [DataMember]
        [Model]
        public Nullable<System.DateTime> Birthday { get; set; }
        [DataMember]
        [Model]
        public string StudentNumber { get; set; }
        [Model]
        [DataMember]
        public string OriSchoolCode { get; set; }

        #region Help
        [DataMember]
        public string ClassName { get; set; }
        [DataMember]
        public int ClassIndex { get; set; }
        [DataMember]
        public string SchoolName { get; set; }

        public string OperationResult { get; set; }
        #endregion
    }

    [DataContract]
    public class StudentCollection : ModelCollectionBase<StudentModel> { }

    public class StudentQuery : QueryBase
    {
        public Guid SchoolGuid { get; set; }
        public Guid ClassGuid { get; set; }
        public int GradeCode { get; set; }
        public int GradeStep { get; set; }
    }
}
